home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Extra 1996 #2
/
Amiga Plus CD - 1996 - No. 2 Extra.iso
/
clarissa1_1-demo
/
macros
/
farbverlauf3p.clssa
< prev
next >
Wrap
Text File
|
1995-01-26
|
3KB
|
118 lines
/***********************************************************************
GADGET: "'Farbverlauf 3P'" "6" AUTO TYP: "?"
$DAT >>Farbverlauf3P.clssa<<12.10.1992 - (C) ProDAD Holger Burkarth
20.01.1995 - (C) ProDAD Michael Christoph
Dieser Macro berechnet einen Farbverlauf in einer Animation. Hierzu
wählt der User einen Bereich aus wie gewohnt, danach wird ein
Farbverlauf vom Startbild bis zum Endbild berechnet. Zusätzlich arbeitet
dieser Macro mit einem Zwischenwert, der aus der aktuellen Position
ermittelt wird. Somit kann ein Farbverlauf mit einer Übergangsfarbe
erzeugt werden.
************************************************************************/
Options Results
Address clariSSA
FailAt 10
AltFail=RESULT
GetArea
PARSE VAR RESULT . "FROM" von "TO" bis .
von=Strip(von)
Anzahl=bis-von
IF Anzahl>3 THEN DO
DO FOREVER
GetAnimInfo
PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode . "POS" AktPos .
AnzFarben=2**t - 1
MSRequester "TITLE '*** 3 Punkt - Farbverlauf ***'",
"''",
"'Farbverlauf von "von" über "AktPos" bis "bis"'",
"''",
"'Wählen Sie bitte die Effektart aus.'",
"PTEXT 'Alle Farben ...'",
"'Farbbereich ...'"
IF RC~=0 THEN LEAVE
Art=RESULT
IF Art=1 THEN DO
Liste=""
l=0
DO UNTIL l>AnzFarben
Liste=Liste|| l " "
l=l+1
END
END
ELSE IF Art=2 THEN DO
COLRequest "FROM 0 TO 0 TITLE '*** 3 Punkt - Farbverlauf ***''''Wählen Sie den Farbbereich''für die Bearbeitung aus.'"
IF RC~=0 THEN LEAVE
Liste=RESULT
END
ViewFrame COPS AktPos
IF RC~=0 THEN LEAVE
GetColor Liste
Scheitel=RESULT
ViewFrame COPS bis
IF RC~=0 THEN LEAVE
GetColor Liste
Ende=RESULT
ViewFrame COPS von
IF RC~=0 THEN LEAVE
GetColor Liste
Start=RESULT
Anzahl1=AktPos-von
Anzahl2=bis-AktPos+1
BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
IF RC~=0 | RESULT="NO" THEN LEAVE
RequestStatus OFF
DO UNTIL von>bis
ViewFrame COPS von
IF RC~=0 THEN LEAVE
IF von < AktPos THEN DO
MStart=Start
MEnde=Scheitel
fa=(1-(AktPos-von)/Anzahl1)
END; ELSE DO
MStart=Scheitel
MEnde=Ende
fa=((von-AktPos)/Anzahl2)
END
l=0
Liste=""
DO UNTIL MStart=""
PARSE VAR MStart x Sr Sg Sb MStart
PARSE VAR MEnde x Er Eg Eb MEnde
r=Sr+(Er-Sr)*fa
g=Sg+(Eg-Sg)*fa
b=Sb+(Eb-Sb)*fa
Liste=Liste x TRUNC(r) TRUNC(g) TRUNC(b)
l=l+1
END
SetColor Liste
Record COPS
IF RC~=0 THEN LEAVE
von=von+1
END
RequestStatus ON
LEAVE
END
END
ELSE Message "'Für einen Farbverlauf müssen''min. 4 Frames ausgewählt werden.'"
FailAt AltFail
exit